/*
 * CArea.h
 *
 *  Created on: 11 Oct 2012
 *      Author: Mario Kleinsasser
 *		Time:	19:31:41
 */

#ifndef CAREA_H_
#define CAREA_H_

#include "CItem.h"
#include <list>

using namespace std;

class CArea {

private:
	CArea *west;
	CArea *east;
	CArea *north;
	CArea *south;
	int pheromone;
	list<CItem *> itemList; /* container for type of field */

public:
	CArea();

	virtual ~CArea();

	CArea* getEast();

	void setEast(CArea* east);

	CArea* getNorth();

	void setNorth(CArea* north);

	CArea* getSouth();

	void setSouth(CArea* south);

	CArea* getWest();

	void setWest(CArea* west);
	
	void addItemToList(CItem* item);

	int getPheromone() const {
		return pheromone;
	}

	void setPheromone(int pheromone) {
		this->pheromone = pheromone;
	}

	void raisePheromone(int pheromone){
		this->pheromone = this->pheromone + pheromone;
	}

	void lowerPheromone(int pheromone){
		this->pheromone = this->pheromone - pheromone;
	}

//	CItem* getType();
//
//	void setType(CItem* type);

	list<CItem*> getItemList() const {
		return itemList;
	}

	void setItemList(list<CItem*> itemList) {
		this->itemList = itemList;
	}



};

#endif /* CAREA_H_ */
